// function foo() {
//     //箭头函数中没有this概念，看到this关键字，也不是代表自己的作用域
//     //箭头函数中this代表的是箭头函数外层的this指向
//     return (a) => {
//       console.log(this.a);
//     }
//   }
  
//   var obj1 = {
//     a: 2
//   }
//   var obj2 = {
//     a: 3
//   }
//   var bar = foo.call(obj1) //2 bar function
//   bar.call(obj2)
function foo() {
    let that = this;
    setTimeout(function () {
             console.log(that.a);
         })

    //setTimeout会把this指向全局
    // setTimeout(function () {
    //     console.log(this.a);
    // })
    // setTimeout(() => {
    //     console.log(this.a);
    // }
}
var obj = {
    a:2
}
foo.call(obj) //undefined
  